package java_14;
/*
baidu Properties的用法,给出案例
*/
/*Properties可以用来保存属性集（类似Map,以键值对的形式保存数据，不同的是Properties都是String类型）这个类的优势是可以从
流中加载属性集，或者把属性集报错到流中
*/

import java.io.*;
import java.util.Properties;

public class Test_4 {
    public static void main(String[] args) {
        Properties p=new Properties();
        //设置值
        p.setProperty("小狗","dog");
        p.setProperty("小绵羊","sheap");
        p.setProperty("小猪","pig");
        p.setProperty("小蛇","gnagka");
        //获取值
        String str=p.getProperty("小猪");
        System.out.println(str);
        //当没有键值时，显示给定的默认值
        String str1=p.getProperty("小猪","没有该值");
        String str2=p.getProperty("haha","没有该值");
        System.out.println(str1);
        System.out.println(str2);
        //properties
        //1:通过字节流形式
        try {
            p.store(new FileOutputStream(new File("D:\\第一小组\\第一小组.txt")),"数据库配置文件");
        } catch (IOException e) {
            e.printStackTrace();
        }
        //2:通过字节流形式
        try {
            p.store(new FileWriter("D:\\第一小组\\第一小组.txt"),"数据库配置文件");
        } catch (IOException e) {
            e.printStackTrace();
        }
        //XML
        //1:不指定编码 默认UTF-8
        try {
            p.storeToXML(new FileOutputStream("D:\\第一小组\\第一小组.txt"),"数据库配置文件");
        } catch (IOException e) {
            e.printStackTrace();
        }
        //2：不指定编码
        try {
            p.storeToXML(new FileOutputStream("D:\\第一小组\\第一小组.txt"),"数据库配置文件");
        } catch (IOException e) {
            e.printStackTrace();
        }
     //  p.load(new FileInputStream(""));
    }
}
